import ComponentConfiguration from "@site/src/pages/components-explorer/_components/ComponentConfiguration";
import ComponentHeader from "@site/src/pages/components-explorer/_components/ComponentHeader";
import FaceRecognition from "@site/src/pages/components-explorer/_domains/face_recognition/index.mdx";
import FaceRecognitionLabels from "@site/src/pages/components-explorer/_domains/face_recognition/labels.mdx";
import FaceRecognitionTrain from "@site/src/pages/components-explorer/_domains/face_recognition/train.mdx";
import ComponentMetadata from "./_meta";
import config from "./config.json";

<ComponentHeader meta={ComponentMetadata} />

Exadel CompreFace is a free and open-source face recognition service.

It provides capabilities for:

- Face recognition
- Face verification
- Face detection
- Landmark detection
- Mask detection
- Head pose detection
- Age
- Gender recognition

See the [getting started guide](https://github.com/exadel-inc/CompreFace#getting-started-with-compreface) to learn how to use CompreFace.

## Configuration

<details>
  <summary>Configuration example</summary>

```yaml
compreface:
  face_recognition:
    host: compreface
    port: 8000
    recognition_api_key: !secret compreface_api_key
    train: true
    face_plugins: age,gender
    cameras:
      camera_one:
    labels:
      - person
```

</details>

<ComponentConfiguration meta={ComponentMetadata} config={config} />

## Face recognition

<FaceRecognition />

### Labels

<FaceRecognitionLabels />

### Train

<FaceRecognitionTrain />
